其實在我的認知,系統服務其實就像是開啟某一個工具或是系統來運作,例如mail服務、防火牆、網路卡等等,這些都算是一種服務,但我們需要他在開啟,不需要他就關閉甚至移除,所以系統服務你說不重要嗎?其實很重要的。
Systemd 是一個 Linux 的系統服務工具,是為了改善系統的啟動和管理提供一套完整的解決方案,在 CentOS 7 已經開始支援。
/lib/systemd/system
內建系統的服務啟動檔位置。/etc/systemd/system
客製的服務啟動檔位置。systemctl
是 Systemd
系統服務工具 的主要指令。
[root@localhost ~]# systemctl [操作指令] [服務名稱].service
[root@localhost ~]# systemctl list-unit-files
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount static
dev-hugepages.mount static
dev-mqueue.mount static
proc-sys-fs-binfmt_misc.mount static
sys-fs-fuse-connections.mount static
sys-kernel-config.mount static
[root@localhost ~]# systemctl --failed
0 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
[root@localhost ~]# systemctl is-enabled firewalld.service
enabled
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2020-10-06 20:53:58 CST; 1h 26min ago
Docs: man:firewalld(1)
Main PID: 713 (firewalld)
CGroup: /system.slice/firewalld.service
└─713 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
10月 06 20:53:57 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
10月 06 20:53:58 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
10月 06 20:53:58 localhost.localdomain firewalld[713]: WARNING: AllowZoneDrifting is enabled. ...w.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl start firewalld.service
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl restart firewalld.service
[root@localhost ~]# systemctl enable firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# systemctl is-active firewalld
active
[root@localhost ~]# systemctl kill firewalld
[root@localhost ~]# systemctl get-default
multi-user.target
[root@localhost ~]# systemctl get-default multi-user.target
[root@localhost ~]# systemctl isolate multiuser.target
systemd
工具是否存在[root@localhost ~]# yum list installed | grep systemd
systemd.x86_64 219-73.el7_8.9 @updates
systemd-libs.x86_64 219-73.el7_8.9 @updates
systemd-sysv.x86_64 219-73.el7_8.9 @updates
service指令可以啟動、停止、重新啟動、關閉服務等功能
/etc/init.d/
service 系統的服務啟動檔位置[root@localhost ~]# service network start
[root@localhost ~]# service network stop
[root@localhost ~]# service network restart
[root@localhost /]# service network status
設定好的裝置:
lo enp0s3
目前作用中的裝置:
lo enp0s3
[root@localhost /]# service --status-all
未載入 netconsole 模組
設定好的裝置:
lo enp0s3
目前作用中的裝置:
lo enp0s3
chkconfig 是 系統服務(service)管理工具底下的指令工具,會隨著系統服務(service)啟動或關閉程序,簡單來說 chkconfig 是用於維護 /etc/rc[0-6].d
目錄的指令工具。
[root@localhost /]# chkconfig --help
chkconfig 版本 1.7.4 - 版權所有 (C) 1997-2000 Red Hat, Inc.
在遵守 GNU 通用公共許可證 (GPL) 的條款下,可以自由散布這個程式。
用法:chkconfig [--list] [--type <類型>] [名稱]
chkconfig --add <名稱>
chkconfig --del <名稱>
chkconfig --override <名稱>
chkconfig [--level <層級>] [--type <類型>] <名稱> <on|off|reset|resetpriorities>
[root@localhost /]# chkconfig --list
注意:本輸出僅顯示 SysV 服務,並且不包含原生的 systemd 服務。
SysV 組態資料可能會被原生的 systemd 組態凌駕。
若您希望列出 systemd 服務,請使用「systemctl list-unit-files」。
若要查看啟用於特定目的地上的服務,請使用
「systemctl list-dependencies [target]」。
netconsole 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
network 0:關閉 1:關閉 2:開啟 3:開啟 4:開啟 5:開啟 6:關閉
[root@localhost /]# chkconfig --list network
注意:本輸出僅顯示 SysV 服務,並且不包含原生的 systemd 服務。
SysV 組態資料可能會被原生的 systemd 組態凌駕。
若您希望列出 systemd 服務,請使用「systemctl list-unit-files」。
若要查看啟用於特定目的地上的服務,請使用
「systemctl list-dependencies [target]」。
network 0:關閉 1:關閉 2:開啟 3:開啟 4:開啟 5:開啟 6:關閉
[root@localhost /]# chkconfig network on
[root@localhost /]# chkconfig network off
[root@localhost /]# chkconfig network reset
[root@localhost /]# chkconfig --add network
[root@localhost /]# chkconfig --del network
[root@localhost /]# chkconfig --level [等級] [服務名稱] [動作]
[root@localhost ~]# chkconfig --level 5 network on